package com.whfc.ms.api.sys.service;

import com.whfc.common.result.PageData;
import com.whfc.emp.entity.FileUploadInfo;
import com.whfc.entity.dto.Apply.rep.FileUploadInfoRep;
import com.whfc.entity.dto.Apply.req.AppEntryApplicationReq;
import com.whfc.fuum.entity.SysUser;
import com.whfc.fuum.entity.WxUser;

import java.util.List;

/**
 * @author xie_jiangyong
 * @description
 * @date 2025-09-13
 */
public interface SysFileUploadService {
    /**
     * 查询所有微信上传文件列表
     * @return 文件信息列表
     */
    List<FileUploadInfoRep> getAllWxFileList(AppEntryApplicationReq req);

    /**
     * 上传微信文件并保存记录
     * @param fileInfo 包含文件信息的实体类（含微信用户标识、文件地址等）
     * @return 上传成功返回文件ID，失败返回-1
     */
    Integer uploadWxFile(SysUser user, FileUploadInfo fileInfo);

    /**
     * 根据文件ID查询微信上传文件的地址
     * @param fileId 文件主键ID
     * @return 文件下载地址，不存在返回null
     */
    String getWxFileUrlById(Integer fileId);
}
